import base64
import pickle

from django_redis import get_redis_connection


def merge_cookie_redis_cart(request, user, response):
    cookie_cart = request.COOKIES.get("cart")
    cookie_dict = {}
    if cookie_cart:
        cookie_dict =pickle.loads(base64.b64decode(cookie_cart.encode()))
    else:
        return response


    redis_conn = get_redis_connection("cart")
    for sku_id, count_selected in cookie_dict.items():
        redis_conn.hset('cart_%s' % user.id, sku_id, count_selected['count'])
        if count_selected['selected']:
            redis_conn.sadd('cart_select_%s' % user.id, sku_id)
        else:
            redis_conn.srem('cart_select_%s' % user.id, sku_id)


    response.delete_cookie('cart')
    return response



